package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.core.redis.RedisCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.DyConfigMapper;
import com.ruoyi.system.domain.DyConfig;
import com.ruoyi.system.service.IDyConfigService;

/**
 * 系统配置Service业务层处理
 * 
 * @author dy
 * @date 2024-04-26
 */
@Service
public class DyConfigServiceImpl implements IDyConfigService 
{
    @Autowired
    private DyConfigMapper dyConfigMapper;

    @Autowired
    private RedisCache redisCache;

    /**
     * 查询系统配置
     * 
     * @param id 系统配置主键
     * @return 系统配置
     */
    @Override
    public DyConfig selectDyConfigById(Long id)
    {
        return dyConfigMapper.selectDyConfigById(id);
    }

    /**
     * 查询系统配置列表
     * 
     * @param dyConfig 系统配置
     * @return 系统配置
     */
    @Override
    public List<DyConfig> selectDyConfigList(DyConfig dyConfig)
    {
        return dyConfigMapper.selectDyConfigList(dyConfig);
    }

    /**
     * 新增系统配置
     * 
     * @param dyConfig 系统配置
     * @return 结果
     */
    @Override
    public int insertDyConfig(DyConfig dyConfig)
    {
        return dyConfigMapper.insertDyConfig(dyConfig);
    }

    /**
     * 修改系统配置
     * 
     * @param dyConfig 系统配置
     * @return 结果
     */
    @Override
    public int updateDyConfig(DyConfig dyConfig)
    {
        if(dyConfig.getIsTor()==null){
            dyConfig.setIsTor(0l);
        }
        redisCache.setCacheObject("dyconfig:state", dyConfig.getState());
        redisCache.setCacheObject("dyconfig:isTor", dyConfig.getIsTor());
        return dyConfigMapper.updateDyConfig(dyConfig);
    }

    /**
     * 批量删除系统配置
     * 
     * @param ids 需要删除的系统配置主键
     * @return 结果
     */
    @Override
    public int deleteDyConfigByIds(Long[] ids)
    {
        return dyConfigMapper.deleteDyConfigByIds(ids);
    }

    /**
     * 删除系统配置信息
     * 
     * @param id 系统配置主键
     * @return 结果
     */
    @Override
    public int deleteDyConfigById(Long id)
    {
        return dyConfigMapper.deleteDyConfigById(id);
    }
}
